package dancetwotiktokenumsmymongo

const (
	DanceComposeToolChangeLogChangeTypeAdd     = 1 //增加
	DanceComposeToolChangeLogChangeTypeReduced = 2 //减少

	DanceComposeToolChangeLogSourceDirectDrawPrize                  = 1  //抽奖直接获得
	DanceComposeToolChangeLogSourceSingleWeekRank                   = 2  //个人周榜发放
	DanceComposeToolChangeLogSourceCoupleWeekRank                   = 3  //Cp周榜发放
	DanceComposeToolChangeLogSourceHistoryOnceClear                 = 4  //双人历史排行榜获得
	DanceComposeToolChangeLogSourceGiftPackageActivity              = 5  // 礼包活动
	DanceComposeToolChangeLogSourcePrizeDrawCPGift                  = 6  // 抽奖CP赠送
	DanceComposeToolChangeLogSourceGiftPackCPGift                   = 7  // 礼包CP赠送
	DanceComposeToolChangeLogSourceRedPacket                        = 8  // 红包活动获得
	DanceComposeToolChangeLogSourceValentinesDay                    = 9  // 情人节活动获得
	DanceComposeToolChangeLogSourceValentinesDayRoomPrize           = 10 // 情人节活动日榜获得
	DanceComposeToolChangeLogSourceValentinesDayAllPrize            = 11 // 情人节活动全服榜获得
	DanceComposeToolChangeLogSourceMiniGamePrize                    = 12 // 小玩法获得
	DanceComposeToolChangeLogSourceSingleDayRank                    = 13 // 个人日榜发放
	DanceComposeToolChangeLogSourceSingleHourRank                   = 14 // 个人小时榜发放
	DanceComposeToolChangeLogSourceAllGiftWeekRank                  = 15 //全服礼物周榜发放
	DanceComposeToolChangeLogSourceCoupleDayRank                    = 16 // 双人日榜发放
	DanceComposeToolChangeLogSourceCoupleHourRank                   = 17 // 双人小时榜发放
	DanceComposeToolChangeLogSourceSingleScoreCC                    = 18 // 单人周榜冲刺发奖
	DanceComposeToolChangeLogSourceCoupleScoreCC                    = 19 // 双人周榜冲刺发奖
	DanceComposeToolChangeLogSourceGiftFirstPay                     = 20 // 首充发奖
	DanceComposeToolChangeLogSourceLuckyDrawGuaranteedPrizes        = 21 // 抽奖保底发奖
	DanceComposeToolChangeLogSourceLuckyDrawGuaranteedPrizesGive    = 22 // 抽奖保底发奖赠送
	DanceComposeToolChangeLogSourceSignIn                           = 23 // 签到发奖
	DanceComposeToolChangeLogSourceLuckyDrawBigGuaranteedPrizes     = 24 // 抽奖大保底发奖
	DanceComposeToolChangeLogSourceLuckyDrawBigGuaranteedPrizesGive = 25 // 抽奖大保底发奖赠送
	DanceComposeToolChangeLogSourceCumulativeSignIn                 = 26 // 累计签到发奖
	DanceComposeToolChangeLogSourceShardChange                      = 27 // 碎片兑换获得

)

type DanceComposeToolChangeLogEnums struct {
}

var DanceComposeToolChangeLogEnumsObject DanceComposeToolChangeLogEnums

func (e DanceComposeToolChangeLogEnums) SourceType() []int {
	return []int{
		DanceComposeToolChangeLogSourceDirectDrawPrize,
		DanceComposeToolChangeLogSourceSingleWeekRank,
		DanceComposeToolChangeLogSourceCoupleWeekRank,
		DanceComposeToolChangeLogSourceHistoryOnceClear,
		DanceComposeToolChangeLogSourceGiftPackageActivity,
		DanceComposeToolChangeLogSourcePrizeDrawCPGift,
		DanceComposeToolChangeLogSourceGiftPackCPGift,
		DanceComposeToolChangeLogSourceRedPacket,
		DanceComposeToolChangeLogSourceValentinesDay,
		DanceComposeToolChangeLogSourceValentinesDayRoomPrize,
		DanceComposeToolChangeLogSourceValentinesDayAllPrize,
		DanceComposeToolChangeLogSourceMiniGamePrize,
		DanceComposeToolChangeLogSourceSingleDayRank,
		DanceComposeToolChangeLogSourceSingleHourRank,
		DanceComposeToolChangeLogSourceAllGiftWeekRank,
		DanceComposeToolChangeLogSourceCoupleDayRank,
		DanceComposeToolChangeLogSourceCoupleHourRank,
		DanceComposeToolChangeLogSourceSingleScoreCC,
		DanceComposeToolChangeLogSourceCoupleScoreCC,
		DanceComposeToolChangeLogSourceGiftFirstPay,
		DanceComposeToolChangeLogSourceLuckyDrawGuaranteedPrizes,
		DanceComposeToolChangeLogSourceLuckyDrawGuaranteedPrizesGive,
		DanceComposeToolChangeLogSourceSignIn,
		DanceComposeToolChangeLogSourceLuckyDrawBigGuaranteedPrizes,
		DanceComposeToolChangeLogSourceLuckyDrawBigGuaranteedPrizesGive,
		DanceComposeToolChangeLogSourceCumulativeSignIn,
		DanceComposeToolChangeLogSourceShardChange,
	}
}

func (e DanceComposeToolChangeLogEnums) SourceMap() map[int]string {
	m := make(map[int]string)
	for _, s := range e.SourceType() {
		m[s] = e.SourceString(s)
	}
	return m
}

func (e DanceComposeToolChangeLogEnums) SourceString(tag int) string {
	switch tag {
	case DanceComposeToolChangeLogSourceDirectDrawPrize:
		return "抽奖直接获得"
	case DanceComposeToolChangeLogSourceSingleWeekRank:
		return "个人周榜发放"
	case DanceComposeToolChangeLogSourceCoupleWeekRank:
		return "Cp周榜发放"
	case DanceComposeToolChangeLogSourceHistoryOnceClear:
		return "双人历史排行榜获得"
	case DanceComposeToolChangeLogSourceGiftPackageActivity:
		return "礼包活动"
	case DanceComposeToolChangeLogSourcePrizeDrawCPGift:
		return "抽奖CP赠送"
	case DanceComposeToolChangeLogSourceGiftPackCPGift:
		return "礼包CP赠送"
	case DanceComposeToolChangeLogSourceRedPacket:
		return "红包活动获得"
	case DanceComposeToolChangeLogSourceValentinesDay:
		return "情人节活动获得"
	case DanceComposeToolChangeLogSourceValentinesDayRoomPrize:
		return "情人节活动日榜获得"
	case DanceComposeToolChangeLogSourceValentinesDayAllPrize:
		return "情人节活动全服榜获得"
	case DanceComposeToolChangeLogSourceMiniGamePrize:
		return "小玩法获得"
	case DanceComposeToolChangeLogSourceSingleDayRank:
		return "个人日榜发放"
	case DanceComposeToolChangeLogSourceSingleHourRank:
		return "个人小时榜发放"
	case DanceComposeToolChangeLogSourceAllGiftWeekRank:
		return "全服礼物周榜发放"
	case DanceComposeToolChangeLogSourceCoupleDayRank:
		return "双人日榜发放"
	case DanceComposeToolChangeLogSourceCoupleHourRank:
		return "双人小时榜发放"
	case DanceComposeToolChangeLogSourceSingleScoreCC:
		return "单人周榜冲刺发奖"
	case DanceComposeToolChangeLogSourceCoupleScoreCC:
		return "双人周榜冲刺发奖"
	case DanceComposeToolChangeLogSourceGiftFirstPay:
		return "首充发奖"
	case DanceComposeToolChangeLogSourceLuckyDrawGuaranteedPrizes:
		return "抽奖保底发奖"
	case DanceComposeToolChangeLogSourceLuckyDrawGuaranteedPrizesGive:
		return "抽奖保底发奖赠送"
	case DanceComposeToolChangeLogSourceSignIn:
		return "签到发奖"
	case DanceComposeToolChangeLogSourceLuckyDrawBigGuaranteedPrizes:
		return "抽奖大保底发奖"
	case DanceComposeToolChangeLogSourceLuckyDrawBigGuaranteedPrizesGive:
		return "抽奖大保底发奖赠送"
	case DanceComposeToolChangeLogSourceCumulativeSignIn:
		return "累计签到发奖"
	case DanceComposeToolChangeLogSourceShardChange:
		return "碎片兑换获得"
	default:
		return "其他"
	}
}

func (e DanceComposeToolChangeLogEnums) ChangeType() []int {
	return []int{
		DanceComposeToolChangeLogChangeTypeAdd,
		DanceComposeToolChangeLogChangeTypeReduced,
	}
}

func (e DanceComposeToolChangeLogEnums) ChangeTypeMap() map[int]string {
	m := make(map[int]string)
	for _, s := range e.ChangeType() {
		m[s] = e.ChangeTypeString(s)
	}
	return m
}

func (e DanceComposeToolChangeLogEnums) ChangeTypeString(tag int) string {
	switch tag {
	case DanceComposeToolChangeLogChangeTypeAdd:
		return "增加"
	case DanceComposeToolChangeLogChangeTypeReduced:
		return "减少"
	default:
		return "其他"
	}
}
